package org.kl.wx.service;

import javax.servlet.http.HttpServletRequest;

import me.chanjar.weixin.common.api.WxConsts;

import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

@Component
@Transactional
public class WxMpService {

	 @SuppressWarnings("unused")
	public static String processRequest(HttpServletRequest request) {
		 String respMessage = null; 

		  try { 

		  // 默认返回的文本消息内容 

		  String respContent = "请求处理异常,请稍候尝试!"; 

		  // xml请求解析
		 //Map<String, String> requestMap = request;

		  // 发送方帐号(open_id)
		 String fromUserName = request.getParameter("FromUserName"); 

		  // 公众帐号
		 String toUserName = request.getParameter("ToUserName"); 

		  // 消息类型
		 String msgType = request.getParameter("MsgType"); 

		  // 回复文本消息
		 /*TextMessage textMessage = new TextMessage();
		 textMessage.setToUserName(fromUserName); 

		  textMessage.setFromUserName(toUserName); 

		  textMessage.setCreateTime(new Date().getTime());
		 textMessage.setMsgType(MessageUtil.RESP_MESSAGE_TYPE_TEXT);
		 textMessage.setFuncFlag(0); */

		  // 文本消息

		  if (msgType.equals(WxConsts.XML_MSG_TEXT))

		  {
		 respContent = "您发送的是文本消息!";
		 } 

		  // 图片消息 

		  else if (msgType.equals(WxConsts.XML_MSG_IMAGE)) {
		 respContent = "您发送的是图片消息!"; 

		  }

		  // 地理位置消息 

		  else if (msgType.equals(WxConsts.XML_MSG_LOCATION)) {
		 respContent = "您发送的是地理位置消息!";
		 } 

		 // 链接消息
		 else if (msgType.equals(WxConsts.XML_MSG_LINK)) {
		 respContent = "您发送的是链接消息!"; 

		  } 

		  // 音频消息 

		  else if (msgType.equals(WxConsts.XML_MSG_VOICE)) {
		 respContent = "您发送的是音频消息!";
		 } 
		// 音频消息 

		  else if (msgType.equals(WxConsts.XML_MSG_VIDEO)) {
		 respContent = "您发送的是音频消息!";
		 } 

		  // 事件推送 

		  else if (msgType.equals(WxConsts.XML_MSG_EVENT)) {

		  // 事件类型
		 //String eventType = request.getParameter("Event"); 

		  // 订阅 

		  /*if (eventType.equals()) 

		 {
		 respContent = "谢谢您的关注!";
		 } */

		  // 取消订阅 

		 /* else if (eventType.equals(MessageUtil.EVENT_TYPE_UNSUBSCRIBE)) {

		  // TODO 取消订阅后用户再收不到公众号发送的消息,因此不需要回复消息
		 } */

		  // 自定义菜单点击事件

		 
		 }

			/*
			 * textMessage.setContent(respContent); respMessage =
			 * MessageUtil.textMessageToXml(textMessage);
			 */

		  } catch (Exception e) {
		 e.printStackTrace(); 

		  }

		 return respMessage;
		 }
}
